build(deps): Bump expo react native and deps to expo 55#13576
Open
gkartalis wants to merge 15 commits into
Open
build(deps): Bump expo react native and deps to expo 55#13576gkartalis wants to merge 15 commits into
gkartalis wants to merge 15 commits into
Conversation
Member
|
Nice it's definitely faster to start this from scratch than to build on top of the other PR. I will close the old one |
98b4a7f to
c75eb3e
Compare
Contributor
🎉 Beta Versions Generated (commit:
|
Member
Author
Contributor
🎉 Beta Versions Generated (commit:
|
Member
Author
Member
|
WOOW 🔥 who would have guessed that we will get here some day 😄 |
| <dict> | ||
| <key>AppIdentifierPrefix</key> | ||
| <string>$(AppIdentifierPrefix)</string> | ||
| <key>CADisableMinimumFrameDurationOnPhone</key> |
…and react-native to version 0.83.6 with corresponding patches
- upgraded @react-native-google-signin/google-signin from 15.0.0 to 16.1.2 - upgraded @rnmapbox/maps from 10.1.44 to 10.3.0 - upgraded @stripe/stripe-react-native from 0.50.3 to 0.63.0 - added @types/react-test-renderer@19.1.0 - removed babel-preset-expo@14.0.0 and updated to ~55.0.21 - updated peer dependencies for @rnmapbox/maps and @stripe/stripe-react-native - removed unused dependencies from yarn.lock
5cb45bc to
4ac2da1
Compare
- Bump @rnmapbox/maps from 10.3.0 to 10.3.1 - Update expo and related packages to latest patch versions: - expo: 55.0.24 - expo-build-properties: 55.0.14 - expo-navigation-bar: 55.0.13 - expo-updates: 55.0.22 - Upgrade react-native-image-crop-picker from 0.51.0 to 0.51.1 - Update @expo/cli from 55.0.29 to 55.0.30 - Update @expo/config and @expo/config-plugins to latest minor versions
Contributor
Contributor
🎉 Beta Versions Generated (commit:
|
Member
|
@gkartalis please let me know when I can review this 👀 |
araujobarret
approved these changes
May 20, 2026
Contributor
araujobarret
left a comment
There was a problem hiding this comment.
Looks solid, thanks for addressing it! 💪
Left minor comments only
| android.useAndroidX=true | ||
| # Automatically convert third-party libraries to use AndroidX | ||
| android.enableJetifier=true | ||
| android.enableJetifier=false |
Contributor
There was a problem hiding this comment.
Does that mean we don't have any lib using something < AndroidX? 😄
| useExpoModules() No newline at end of file | ||
| // Re-add jcenter() for Gradle 9 compatibility. | ||
| // Some node_modules still reference it but it was removed in Gradle 9. | ||
| gradle.beforeProject { project -> |
Contributor
There was a problem hiding this comment.
Can't we have back the jcenter() in android/build.gradle instead or do we need this way to work?
MounirDhahri
approved these changes
May 20, 2026
Member
MounirDhahri
left a comment
There was a problem hiding this comment.
Awesome - thanks for doing this
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


This PR resolves PHIRE-3069
Description
Bumps Expo SDK 54 → 55 and React Native 0.81.5 → 0.83.6, plus the surrounding ecosystem and native toolchain.
Non-standard changes (beyond what
expo upgrade/ RN upgrade helper produces)These are the manual interventions worth flagging for reviewers — none of them come out of the upgrade helpers, they were hand-rolled for specific issues we hit:
android/settings.gradle—jcenter()compatibility shim. Gradle 9 removedjcenter()entirely, but several transitivenode_modulesstill reference it. Rather than patching each one, agradle.beforeProjectshim redefinesjcenter()to point athttps://jcenter.bintray.com/.scripts/utils/clean— wipeapp/.cxxandapp/build/generatedbeforegradlew clean. Under RN New Arch, the CMake regenerate step runs during Gradle configuration and references codegen dirs thatcleanitself is about to delete, so the script was failing without this pre-step.2.22.0). Even on the latest version,@segment/analytics-react-nativestill instantiates a legacyReactNativeHost, which is gone under New Arch in 0.83. Patch keeps it working until segmentio/analytics-react-native#1146 lands.MainApplication.kt— manual migration toExpoReactHostFactory.getDefaultReactHost. Helper doesn't migrate this because we had a customArtsyNativePackage()registered via the oldReactNativeHostWrapper+DefaultReactNativeHostpath; redone by hand.android/app/build.gradle—getRuntimeVersion()now readsapp.jsondirectly viaJsonSlurperinstead of shelling out tonode ../../scripts/deploys/expo-updates/get-runtime-version.js. Faster Gradle config + one less Node dependency in the Android build.tsconfig.json— added"types": ["jest"]. RN 0.83's bundled types pulled in globals that conflicted with our test setup; this scopes type roots to just Jest.src/app/Scenes/Map/Components/PinsShapeLayer.tsx—onPresstyped asany.@rnmapbox/maps10.3.0 stopped re-exportingOnPressEventfrom itslib/typescript/src/types/OnPressEventpath; left a// TODOuntil upstream re-exposes it.Info.plisttweaks. AddedCADisableMinimumFrameDurationOnPhone=true(enables ProMotion 120Hz) and removedUIDesignRequiresCompatibility(legacy iOS 26 liquid-glass opt-out — not needed on RN 0.83).com.android.support:support-core-utils:24.2.1fromandroid/app/build.gradle— it was a pre-AndroidX holdover..circleci/config.ymlwas bumped (node_modules v29→v30, gems v13→v14, pods v31→v32, ios_build v30→v31, android_build v16→v17, ios_native v20→v21, android_native v20→v21).setup-android-environment,setup-ios-environment,setup-javascript-environmentcomposite actions.HACKS.md— removed the expo-updates patch note (upstream fixed), added the Segment patch note.Updated dependencies (for visibility)
Runtime
expoexpo-build-propertiesexpo-navigation-barexpo-updatesreactreact-nativereact-native-gesture-handlerreact-native-screensreact-native-safe-area-contextreact-native-svgreact-native-webviewreact-native-worklets@react-native-community/netinfo@react-native-google-signin/google-signin@rnmapbox/maps@segment/analytics-react-native@stripe/stripe-react-nativeDev / tooling
@react-native/babel-preset@react-native/eslint-config@react-native/metro-config@react-native/typescript-config@babel/core@types/reactreact-domreact-test-renderertypescriptbabel-preset-expometro-configNative toolchain
enableJetifierjcenter()Follow ups
PR Checklist
To the reviewers 👀
Changelog updates
Changelog updates
Cross-platform user-facing changes
iOS user-facing changes
Android user-facing changes
Dev changes
Need help with something? Have a look at our docs, or get in touch with us.